﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Schema;
using System.Windows.Forms;
using INFSWA01___Computerwinkel.Code.Objects;

namespace INFSWA01___Computerwinkel.Service
{
    public class VoorraadService
    {
        public Artikel CreateArtikel(int id, string naam, string prijs, string merk, string type)
        {
            Artikel artikel = new Artikel();
            artikel.Id = id;
            artikel.Naam = naam;
            artikel.Prijs = prijs;
            artikel.Merk = merk;
            artikel.Type = type;

            return artikel;
        }

        public void CreateXMLFromList(List<Artikel> artikelen)
        {
            if (artikelen.Count() > 0)
            {
                XmlDocument xmldoc;
                XmlNode xmlnode;

                XmlElement artikelenElement;
                XmlElement artikelElement;
                XmlAttribute artikelAttribute;

                XmlElement naamElement;
                XmlText naamText;
                XmlElement prijsElement;
                XmlText prijsText;
                XmlElement merkElement;
                XmlText merkText;
                XmlElement typeElement;
                XmlText typeText;

                xmldoc = new XmlDocument();

                xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
                xmldoc.AppendChild(xmlnode);

                artikelenElement = xmldoc.CreateElement("", "Artikelen", "");
                xmldoc.AppendChild(artikelenElement);

                foreach (Artikel artikel in artikelen)
                {
                    artikelElement = xmldoc.CreateElement("", "Artikel", "");
                    artikelAttribute = xmldoc.CreateAttribute("artikel_id");
                    artikelAttribute.Value = artikel.Id.ToString();
                    artikelElement.Attributes.Append(artikelAttribute);
                    xmldoc.ChildNodes.Item(1).AppendChild(artikelElement);

                    naamElement = xmldoc.CreateElement("", "Naam", "");
                    naamText = xmldoc.CreateTextNode(artikel.Naam);
                    naamElement.AppendChild(naamText);
                    artikelElement.AppendChild(naamElement);

                    prijsElement = xmldoc.CreateElement("", "Prijs", "");
                    prijsText = xmldoc.CreateTextNode(artikel.Prijs);
                    prijsElement.AppendChild(prijsText);
                    artikelElement.AppendChild(prijsElement);

                    merkElement = xmldoc.CreateElement("", "Merk", "");
                    merkText = xmldoc.CreateTextNode(artikel.Merk);
                    merkElement.AppendChild(merkText);
                    artikelElement.AppendChild(merkElement);

                    typeElement = xmldoc.CreateElement("", "Type", "");
                    typeText = xmldoc.CreateTextNode(artikel.Type);
                    typeElement.AppendChild(typeText);
                    artikelElement.AppendChild(typeElement);
                }

                xmldoc.Save("c:/artikelen.xml");
            }
        }
    }
}
